Allow test named `test`
authorAleksey Kladov <aleksey.kladov@gmail.com>
Mon, 24 Apr 2017 12:37:37 +0000 (15:37 +0300)
committerAleksey Kladov <aleksey.kladov@gmail.com>
Mon, 24 Apr 2017 12:37:37 +0000 (15:37 +0300)
Looks like `srt/test.rs` and `src/bench.rs` used to be default
integraion test and benchmark, but they no longer are.

src/cargo/util/toml.rs
tests/test.rs

index 084e2359b34cb1500c3522c3207cd5d4b1c0854c..b379567b53d9802ada7a42c8823588681ff129a9 100644 (file)
@@ -1367,19 +1367,11 @@ fn normalize(package_root: &Path,
                                    .join(&format!("{}.rs", ex.name())));
 
     test_targets(&mut ret, tests, &mut |test| {
-        if test.name() == "test" {
-            Path::new("src").join("test.rs")
-        } else {
-            Path::new("tests").join(&format!("{}.rs", test.name()))
-        }
+        Path::new("tests").join(&format!("{}.rs", test.name()))
     });
 
     bench_targets(&mut ret, benches, &mut |bench| {
-        if bench.name() == "bench" {
-            Path::new("src").join("bench.rs")
-        } else {
-            Path::new("benches").join(&format!("{}.rs", bench.name()))
-        }
+        Path::new("benches").join(&format!("{}.rs", bench.name()))
     });
 
     ret
index 0e88b949f216f924baf3e347b4759a25fbdea643..9b2563f1ed581f10269b108925b408684c33ac47 100644 (file)
@@ -520,6 +520,28 @@ test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured
 "))
 }
 
+#[test]
+fn external_test_named_test() {
+    let p = project("foo")
+        .file("Cargo.toml", r#"
+            [project]
+            name = "foo"
+            version = "0.0.1"
+            authors = []
+
+            [[test]]
+            name = "test"
+        "#)
+        .file("src/lib.rs", "")
+        .file("tests/test.rs", r#"
+            #[test]
+            fn foo() { }
+        "#);
+
+    assert_that(p.cargo_process("test"),
+                execs().with_status(0))
+}
+
 #[test]
 fn external_test_implicit() {
     let p = project("foo")
@@ -2849,5 +2871,5 @@ test test_z ... ok
 
 test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured
 "));
-    
+
 }